---
title: 在 Astro 中使用 CMS
description: 如何在 Astro 中使用一个 CMS 添加内容
sidebar:
  label: CMS 概览
---
import CMSGuidesNav from '~/components/CMSGuidesNav.astro';
import ReadMore from '~/components/ReadMore.astro';
import Badge from "~/components/Badge.astro"

**准备好将一个无头 CMS（Headless CMS）连接到你的 Astro 项目了吗？** 按照我们的一个指南来集成 CMS（Content Management System，内容管理系统）。

:::tip
在我们的集成目录中找到 [社区维护的集成](https://astro.build/integrations/?search=cms)，用于将 CMS 连接到你的项目。
:::

## CMS 指南

请注意，其中许多页面都是 **断续的**：这些资源等着你来贡献！

<CMSGuidesNav />

## 为什么使用一个 CMS?

内容管理系统（CMS）可让你在 Astro 项目之外编写内容和管理资源。

这解锁了处理内容的新方式。大多数 CMS 为你提供可视化内容编辑器、指定内容类型的能力以及与他人协作的方式。

CMS 在处理遵循特定结构的内容时特别有用，通常为你提供类似仪表板的体验和所见即所得（WYSIWYG）的编辑工具。你可以使用 CMS 提供的富文本编辑器而不是 Markdown 文件来编写博客文章，或者你可以使用 CMS 来维护电子商务商店的产品列表，使某些字段成为必填字段以避免不完整的列表。

然后，你的 Astro 项目可以从你的 CMS 中获取你的内容，并将其显示在你网站上的任何位置。

## 哪些 CMS 与 Astro 天然融合

由于 Astro 会处理你的内容的 _呈现_，因此你需要选择 _无头_ CMS，就像上面列表中的那些。这意味着 CMS 可以帮助你编写内容，但不会生成显示内容的站点。相反，你将自己在 Astro 项目中获取内容数据并使用这些数据。

一些无头 CMS，比如 Storyblok，提供了专门的 [Astro 集成](/zh-cn/guides/integrations-guide/)，帮助为 Astro 站点获取内容。其他 CMS 会提供 JavaScript 软件包（SDK），这是一个你用于获取远程内容的库。

<ReadMore> 探索 [超过 100 个无头内容管理系统的列表](https://jamstack.org/headless-cms/) <Badge text="外部" />，在这里你可以按类型（例如，基于 Git、API 驱动）和许可证（开源或闭源）进行筛选。</ReadMore>

## 我可以在没有 CMS 的情况下使用 Astro 吗？

当然！Astro 提供了对 [Markdown](/zh-cn/guides/markdown-content/) 的内置支持。
